<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ShipCAD: ShipCADlib/utility.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ShipCAD
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_f0b6ef187c5b1483641b038f81654ac4.html">ShipCADlib</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">utility.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;vector&gt;</code><br />
<code>#include &lt;QVector3D&gt;</code><br />
<code>#include &lt;QColor&gt;</code><br />
<code>#include &lt;QString&gt;</code><br />
<code>#include &quot;<a class="el" href="spline_8h_source.html">spline.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="plane_8h_source.html">plane.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="projsettings_8h_source.html">projsettings.h</a>&quot;</code><br />
</div>
<p><a href="utility_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceShipCAD"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html">ShipCAD</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa5d3fc63603d716d3e24244049e1e510"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#aa5d3fc63603d716d3e24244049e1e510">ShipCAD::MinMax</a> (const QVector3D &amp;p, QVector3D &amp;min, QVector3D &amp;max)</td></tr>
<tr class="memdesc:aa5d3fc63603d716d3e24244049e1e510"><td class="mdescLeft">&#160;</td><td class="mdescRight">find the min and max coordinates from a point  <a href="namespaceShipCAD.html#aa5d3fc63603d716d3e24244049e1e510">More...</a><br /></td></tr>
<tr class="separator:aa5d3fc63603d716d3e24244049e1e510"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69361fa79b1f818e21306f6266ee45d3"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a69361fa79b1f818e21306f6266ee45d3">ShipCAD::DistancepointToLine</a> (const QVector3D &amp;p, const QVector3D &amp;l1, const QVector3D &amp;l2)</td></tr>
<tr class="memdesc:a69361fa79b1f818e21306f6266ee45d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">find the distance from a point to the line  <a href="namespaceShipCAD.html#a69361fa79b1f818e21306f6266ee45d3">More...</a><br /></td></tr>
<tr class="separator:a69361fa79b1f818e21306f6266ee45d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83f7c2b40959a0d02a2cc1085b0d07ee"><td class="memItemLeft" align="right" valign="top">QVector3D&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a83f7c2b40959a0d02a2cc1085b0d07ee">ShipCAD::Interpolate</a> (const QVector3D &amp;p1, const QVector3D &amp;p2, float param)</td></tr>
<tr class="memdesc:a83f7c2b40959a0d02a2cc1085b0d07ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">linearly interpolate a point between 2 points  <a href="namespaceShipCAD.html#a83f7c2b40959a0d02a2cc1085b0d07ee">More...</a><br /></td></tr>
<tr class="separator:a83f7c2b40959a0d02a2cc1085b0d07ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1ad66c896fe763fb4603989ff1f1182"><td class="memItemLeft" align="right" valign="top">QVector3D&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#ad1ad66c896fe763fb4603989ff1f1182">ShipCAD::MidPoint</a> (const QVector3D &amp;p1, const QVector3D &amp;p2)</td></tr>
<tr class="memdesc:ad1ad66c896fe763fb4603989ff1f1182"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the midpoint between 2 points (interpolate 50%)  <a href="namespaceShipCAD.html#ad1ad66c896fe763fb4603989ff1f1182">More...</a><br /></td></tr>
<tr class="separator:ad1ad66c896fe763fb4603989ff1f1182"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30b09a2ad6cc05c2ce1cdc450a0857d1"><td class="memItemLeft" align="right" valign="top">QVector3D&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a30b09a2ad6cc05c2ce1cdc450a0857d1">ShipCAD::PointProjectToLine</a> (const QVector3D &amp;p1, const QVector3D &amp;p2, const QVector3D &amp;p)</td></tr>
<tr class="memdesc:a30b09a2ad6cc05c2ce1cdc450a0857d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">project a point to a line  <a href="namespaceShipCAD.html#a30b09a2ad6cc05c2ce1cdc450a0857d1">More...</a><br /></td></tr>
<tr class="separator:a30b09a2ad6cc05c2ce1cdc450a0857d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87efc267ae07a84fb1cd55a4562c2907"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a87efc267ae07a84fb1cd55a4562c2907">ShipCAD::FindDXFColorIndex</a> (QColor color)</td></tr>
<tr class="memdesc:a87efc267ae07a84fb1cd55a4562c2907"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert a QColor to a DXF color index  <a href="namespaceShipCAD.html#a87efc267ae07a84fb1cd55a4562c2907">More...</a><br /></td></tr>
<tr class="separator:a87efc267ae07a84fb1cd55a4562c2907"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9956eca83968462fc4c48c376a10d577"><td class="memItemLeft" align="right" valign="top">QColor&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a9956eca83968462fc4c48c376a10d577">ShipCAD::QColorFromDXFIndex</a> (int index)</td></tr>
<tr class="memdesc:a9956eca83968462fc4c48c376a10d577"><td class="mdescLeft">&#160;</td><td class="mdescRight">get a QColor from a DXF color index  <a href="namespaceShipCAD.html#a9956eca83968462fc4c48c376a10d577">More...</a><br /></td></tr>
<tr class="separator:a9956eca83968462fc4c48c376a10d577"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb142056788b7a6e18e908c5b2fd8d52"><td class="memItemLeft" align="right" valign="top">QColor&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#acb142056788b7a6e18e908c5b2fd8d52">ShipCAD::FillColor</a> (float parameter)</td></tr>
<tr class="memdesc:acb142056788b7a6e18e908c5b2fd8d52"><td class="mdescLeft">&#160;</td><td class="mdescRight">calculate color on basis of wavelength (0.0 - 1.0)  <a href="namespaceShipCAD.html#acb142056788b7a6e18e908c5b2fd8d52">More...</a><br /></td></tr>
<tr class="separator:acb142056788b7a6e18e908c5b2fd8d52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81e47e31f89000550b007c0f9a4d09aa"><td class="memItemLeft" align="right" valign="top">QVector3D&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a81e47e31f89000550b007c0f9a4d09aa">ShipCAD::UnifiedNormal</a> (const QVector3D &amp;p1, const QVector3D &amp;p2, const QVector3D &amp;p3)</td></tr>
<tr class="memdesc:a81e47e31f89000550b007c0f9a4d09aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">find the unit normal of a plane defined by 3 points  <a href="namespaceShipCAD.html#a81e47e31f89000550b007c0f9a4d09aa">More...</a><br /></td></tr>
<tr class="separator:a81e47e31f89000550b007c0f9a4d09aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac344c080c66b4394cb988cf88c726029"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#ac344c080c66b4394cb988cf88c726029">ShipCAD::DegToRad</a> (float deg)</td></tr>
<tr class="memdesc:ac344c080c66b4394cb988cf88c726029"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert degrees to radians  <a href="namespaceShipCAD.html#ac344c080c66b4394cb988cf88c726029">More...</a><br /></td></tr>
<tr class="separator:ac344c080c66b4394cb988cf88c726029"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ad1916db38fb61e8a053f944df49cee"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a3ad1916db38fb61e8a053f944df49cee">ShipCAD::RadToDeg</a> (float rad)</td></tr>
<tr class="memdesc:a3ad1916db38fb61e8a053f944df49cee"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert radians to degrees  <a href="namespaceShipCAD.html#a3ad1916db38fb61e8a053f944df49cee">More...</a><br /></td></tr>
<tr class="separator:a3ad1916db38fb61e8a053f944df49cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1773f0e415446342401a67430a8b643"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#ae1773f0e415446342401a67430a8b643">ShipCAD::PointInTriangle</a> (const QVector3D &amp;intercept, const QVector3D &amp;p0, const QVector3D &amp;p1, const QVector3D &amp;p2)</td></tr>
<tr class="memdesc:ae1773f0e415446342401a67430a8b643"><td class="mdescLeft">&#160;</td><td class="mdescRight">find if point lies inside a triangle and on the plane of the triangle  <a href="namespaceShipCAD.html#ae1773f0e415446342401a67430a8b643">More...</a><br /></td></tr>
<tr class="separator:ae1773f0e415446342401a67430a8b643"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36b9b33181823761bc327d66c36c8d8f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a36b9b33181823761bc327d66c36c8d8f">ShipCAD::ClipTriangle</a> (const QVector3D &amp;p1, const QVector3D &amp;p2, const QVector3D &amp;p3, float s1, float s2, float s3, std::vector&lt; QVector3D &gt; &amp;front, std::vector&lt; QVector3D &gt; &amp;back)</td></tr>
<tr class="memdesc:a36b9b33181823761bc327d66c36c8d8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">clip a triangle given vertex point distances from a plane  <a href="namespaceShipCAD.html#a36b9b33181823761bc327d66c36c8d8f">More...</a><br /></td></tr>
<tr class="separator:a36b9b33181823761bc327d66c36c8d8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41e6294f71b66bca070c744accbb3ef2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a41e6294f71b66bca070c744accbb3ef2">ShipCAD::ClipTriangle</a> (const QVector3D &amp;p1, const QVector3D &amp;p2, const QVector3D &amp;p3, const <a class="el" href="classShipCAD_1_1Plane.html">Plane</a> &amp;plane, std::vector&lt; QVector3D &gt; &amp;front, std::vector&lt; QVector3D &gt; &amp;back)</td></tr>
<tr class="memdesc:a41e6294f71b66bca070c744accbb3ef2"><td class="mdescLeft">&#160;</td><td class="mdescRight">clip a triangle given a plane  <a href="namespaceShipCAD.html#a41e6294f71b66bca070c744accbb3ef2">More...</a><br /></td></tr>
<tr class="separator:a41e6294f71b66bca070c744accbb3ef2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec056383a39d900bd079feee8bcca060"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#aec056383a39d900bd079feee8bcca060">ShipCAD::Lines3DIntersect</a> (const QVector3D &amp;p1, const QVector3D &amp;p2, const QVector3D &amp;p3, const QVector3D &amp;p4, double &amp;param, QVector3D &amp;int1)</td></tr>
<tr class="memdesc:aec056383a39d900bd079feee8bcca060"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the line segment PaPb that is the shortest route between two lines P1P2 and P3P4. Calculate also the values of mua and mub where Pa = P1 + mua (P2 - P1) Pb = P3 + mub (P4 - P3)  <a href="namespaceShipCAD.html#aec056383a39d900bd079feee8bcca060">More...</a><br /></td></tr>
<tr class="separator:aec056383a39d900bd079feee8bcca060"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f9f5ac15e7e2821bba27ba06827a4e1"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a6f9f5ac15e7e2821bba27ba06827a4e1">ShipCAD::SquaredDistPP</a> (const QVector3D &amp;p1, const QVector3D &amp;p2)</td></tr>
<tr class="memdesc:a6f9f5ac15e7e2821bba27ba06827a4e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">squared distance between 2 3D points  <a href="namespaceShipCAD.html#a6f9f5ac15e7e2821bba27ba06827a4e1">More...</a><br /></td></tr>
<tr class="separator:a6f9f5ac15e7e2821bba27ba06827a4e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a438e97b711c6878eba3bf7182e68a3c7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a438e97b711c6878eba3bf7182e68a3c7">ShipCAD::DistPP3D</a> (const QVector3D &amp;p1, const QVector3D &amp;p2)</td></tr>
<tr class="memdesc:a438e97b711c6878eba3bf7182e68a3c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">distance between 2 3D points  <a href="namespaceShipCAD.html#a438e97b711c6878eba3bf7182e68a3c7">More...</a><br /></td></tr>
<tr class="separator:a438e97b711c6878eba3bf7182e68a3c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45ba7de6922e89cbddf2a4c9c810a2e4"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a45ba7de6922e89cbddf2a4c9c810a2e4">ShipCAD::BoolToStr</a> (bool val)</td></tr>
<tr class="memdesc:a45ba7de6922e89cbddf2a4c9c810a2e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert a bool to a string for serialization  <a href="namespaceShipCAD.html#a45ba7de6922e89cbddf2a4c9c810a2e4">More...</a><br /></td></tr>
<tr class="separator:a45ba7de6922e89cbddf2a4c9c810a2e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2eddf75f0e29363ab81a3fb0e0211848"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a2eddf75f0e29363ab81a3fb0e0211848">ShipCAD::JoinSplineSegments</a> (float join_error, bool force_to_one_segment, <a class="el" href="namespaceShipCAD.html#a053b941b2c87049bb9380428d4d5a056">SplineVector</a> &amp;list)</td></tr>
<tr class="memdesc:a2eddf75f0e29363ab81a3fb0e0211848"><td class="mdescLeft">&#160;</td><td class="mdescRight">join a set of linesegments and connect them into as few as possible splines  <a href="namespaceShipCAD.html#a2eddf75f0e29363ab81a3fb0e0211848">More...</a><br /></td></tr>
<tr class="separator:a2eddf75f0e29363ab81a3fb0e0211848"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70b238d926183460670b82d9680b5cb9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a70b238d926183460670b82d9680b5cb9">ShipCAD::ReadIntFromStr</a> (size_t lineno, const QString &amp;str, size_t &amp;start)</td></tr>
<tr class="memdesc:a70b238d926183460670b82d9680b5cb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert a string to an integer value  <a href="namespaceShipCAD.html#a70b238d926183460670b82d9680b5cb9">More...</a><br /></td></tr>
<tr class="separator:a70b238d926183460670b82d9680b5cb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af343b5a2dfd09b32b9451d35e0676384"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#af343b5a2dfd09b32b9451d35e0676384">ShipCAD::ReadBoolFromStr</a> (size_t lineno, const QString &amp;str, size_t &amp;start)</td></tr>
<tr class="memdesc:af343b5a2dfd09b32b9451d35e0676384"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert a string to an boolean value  <a href="namespaceShipCAD.html#af343b5a2dfd09b32b9451d35e0676384">More...</a><br /></td></tr>
<tr class="separator:af343b5a2dfd09b32b9451d35e0676384"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a696bc38864a736dda734802f3cda4346"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a696bc38864a736dda734802f3cda4346">ShipCAD::ReadFloatFromStr</a> (size_t lineno, const QString &amp;str, size_t &amp;start)</td></tr>
<tr class="memdesc:a696bc38864a736dda734802f3cda4346"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert a string to an float value  <a href="namespaceShipCAD.html#a696bc38864a736dda734802f3cda4346">More...</a><br /></td></tr>
<tr class="separator:a696bc38864a736dda734802f3cda4346"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44025ef38e6ee9f12cbf032660f637b5"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a44025ef38e6ee9f12cbf032660f637b5">ShipCAD::FindWaterViscosity</a> (float density, <a class="el" href="namespaceShipCAD.html#ac6a7a28b4b063771afae92decb602da5">unit_type_t</a> units)</td></tr>
<tr class="memdesc:a44025ef38e6ee9f12cbf032660f637b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">find water viscosity based on density  <a href="namespaceShipCAD.html#a44025ef38e6ee9f12cbf032660f637b5">More...</a><br /></td></tr>
<tr class="separator:a44025ef38e6ee9f12cbf032660f637b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae416df4a72579eb3a1a418b19551eb53"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#ae416df4a72579eb3a1a418b19551eb53">ShipCAD::ChangeFileExt</a> (const QString &amp;name, const QString &amp;ext)</td></tr>
<tr class="memdesc:ae416df4a72579eb3a1a418b19551eb53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append or change the file extension to that given.  <a href="namespaceShipCAD.html#ae416df4a72579eb3a1a418b19551eb53">More...</a><br /></td></tr>
<tr class="separator:ae416df4a72579eb3a1a418b19551eb53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3ca198e79658bf065f1c1c416f23670"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#ad3ca198e79658bf065f1c1c416f23670">ShipCAD::VolumeToDisplacement</a> (float volume, float density, float appcoeff, <a class="el" href="namespaceShipCAD.html#ac6a7a28b4b063771afae92decb602da5">unit_type_t</a> units)</td></tr>
<tr class="memdesc:ad3ca198e79658bf065f1c1c416f23670"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert volume to displacement given density, appendage coefficient and unit type  <a href="namespaceShipCAD.html#ad3ca198e79658bf065f1c1c416f23670">More...</a><br /></td></tr>
<tr class="separator:ad3ca198e79658bf065f1c1c416f23670"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae378a523725f5718c9f2b55103f08dcb"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#ae378a523725f5718c9f2b55103f08dcb">ShipCAD::MakeLength</a> (float value, int decimals, int des_length)</td></tr>
<tr class="memdesc:ae378a523725f5718c9f2b55103f08dcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a formatted string from a float value.  <a href="namespaceShipCAD.html#ae378a523725f5718c9f2b55103f08dcb">More...</a><br /></td></tr>
<tr class="separator:ae378a523725f5718c9f2b55103f08dcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab520595d533b1626c8be82c0efd24e6d"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#ab520595d533b1626c8be82c0efd24e6d">ShipCAD::MakeLength</a> (const QString &amp;value, int des_length)</td></tr>
<tr class="memdesc:ab520595d533b1626c8be82c0efd24e6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a string of a given length.  <a href="namespaceShipCAD.html#ab520595d533b1626c8be82c0efd24e6d">More...</a><br /></td></tr>
<tr class="separator:ab520595d533b1626c8be82c0efd24e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a646812cc2b9066dfc47f2ed7e1faa955"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a646812cc2b9066dfc47f2ed7e1faa955">ShipCAD::Truncate</a> (float val, int max_length)</td></tr>
<tr class="memdesc:a646812cc2b9066dfc47f2ed7e1faa955"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert a float value to a string with max number of decimals  <a href="namespaceShipCAD.html#a646812cc2b9066dfc47f2ed7e1faa955">More...</a><br /></td></tr>
<tr class="separator:a646812cc2b9066dfc47f2ed7e1faa955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1b7d6603b6c5a2969befdbd629f2e8b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#ae1b7d6603b6c5a2969befdbd629f2e8b">ShipCAD::FuzzyCompare</a> (float val1, float val2, float error)</td></tr>
<tr class="memdesc:ae1b7d6603b6c5a2969befdbd629f2e8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">compare 2 floats, if they are sufficiently close, return true  <a href="namespaceShipCAD.html#ae1b7d6603b6c5a2969befdbd629f2e8b">More...</a><br /></td></tr>
<tr class="separator:ae1b7d6603b6c5a2969befdbd629f2e8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4bf48489d173fd29503cd9b511f52e9"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#ad4bf48489d173fd29503cd9b511f52e9">ShipCAD::Sign</a> (double val)</td></tr>
<tr class="memdesc:ad4bf48489d173fd29503cd9b511f52e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the sign of a floating point number  <a href="namespaceShipCAD.html#ad4bf48489d173fd29503cd9b511f52e9">More...</a><br /></td></tr>
<tr class="separator:ad4bf48489d173fd29503cd9b511f52e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26237f4689cbf7e356c7c1ce3f9c69ff"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a26237f4689cbf7e356c7c1ce3f9c69ff">ShipCAD::to_size_t</a> (int val)</td></tr>
<tr class="memdesc:a26237f4689cbf7e356c7c1ce3f9c69ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert an int to a size_t  <a href="namespaceShipCAD.html#a26237f4689cbf7e356c7c1ce3f9c69ff">More...</a><br /></td></tr>
<tr class="separator:a26237f4689cbf7e356c7c1ce3f9c69ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bc9d2025502c6f4052b89c82c72762c"><td class="memItemLeft" align="right" valign="top">QColor&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#a6bc9d2025502c6f4052b89c82c72762c">ShipCAD::RandomColor</a> ()</td></tr>
<tr class="memdesc:a6bc9d2025502c6f4052b89c82c72762c"><td class="mdescLeft">&#160;</td><td class="mdescRight">get a random color  <a href="namespaceShipCAD.html#a6bc9d2025502c6f4052b89c82c72762c">More...</a><br /></td></tr>
<tr class="separator:a6bc9d2025502c6f4052b89c82c72762c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af88f847dc1803cadbeb655783961dbfd"><td class="memItemLeft" align="right" valign="top">QVector3D&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#af88f847dc1803cadbeb655783961dbfd">ShipCAD::RotateVector</a> (const QVector3D &amp;coord, double sinx, double cosx, double siny, double cosy, double sinz, double cosz)</td></tr>
<tr class="memdesc:af88f847dc1803cadbeb655783961dbfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">rotate a vector  <a href="namespaceShipCAD.html#af88f847dc1803cadbeb655783961dbfd">More...</a><br /></td></tr>
<tr class="separator:af88f847dc1803cadbeb655783961dbfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac24d97adcdf1709fc8e857f5d07395ff"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceShipCAD.html#ac24d97adcdf1709fc8e857f5d07395ff">ShipCAD::ConvertDimension</a> (float value, <a class="el" href="namespaceShipCAD.html#ac6a7a28b4b063771afae92decb602da5">unit_type_t</a> units)</td></tr>
<tr class="memdesc:ac24d97adcdf1709fc8e857f5d07395ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">create a string holding a dimension based on project units  <a href="namespaceShipCAD.html#ac24d97adcdf1709fc8e857f5d07395ff">More...</a><br /></td></tr>
<tr class="separator:ac24d97adcdf1709fc8e857f5d07395ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Feb 25 2018 15:36:00 for ShipCAD by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
